Autonomous vehicle

ABSTRACT

An autonomous vehicle includes one or more sensors that measures the distance to and/or other properties of a target by illuminating the target with light. The sensor(s) provides sensor data indicative of one or more surface manifolds. Point data is generated with respect to the surface manifold(s). AHaH (Anti-Hebbian and Hebbian) based mechanism performs an AHaH-based feature extraction operation on the point data for compression and processing thereof.

CROSS-REFERENCE TO PATENT APPLICATION

This application is a continuation-in-part of U.S. patent application Ser. No. 15/396,871, which was filed on Jan. 3, 2017 and is incorporated herein by reference in its entirety. U.S. patent application Ser. No. 15/396,871 in turn is a continuation of U.S. patent application Ser. No. 15/057,184, which was filed on Mar. 1, 2016 and issued as U.S. Pat. No. 9,589,238, the disclosure of which is also incorporated herein by reference in its entirety. U.S. patent application Ser. No. 15/057,184 is a continuation of U.S. patent application Ser. No. 13/613,700, which was filed on Sep. 13, 2012 and issued as U.S. Pat. No. 9,280,748, and claims priority under 35 U.S.C. 119(e) to U.S. Provisional Patent Application Ser. No. 61/663,264, which was filed on Jun. 22, 2012, the disclosures of which are incorporated herein by reference in their entireties. This patent application thus claims priority to and the benefit of the Jun. 22, 2012 filing date of U.S. Provisional Patent Application Ser. No. 61/663,264.

TECHNICAL FIELD

Embodiments are generally related to autonomous vehicles. Embodiments also relate to machine learning and artificial intelligence. Embodiments additionally relate to feature extraction methods and systems. Embodiments further relate to electronic devices such as memristors. Embodiments further relate to the field of remote sensing devices, including but not limited to LIDAR (Light Detection And Ranging) sensors/devices, cameras, and other sensors used for autonomous vehicles.

BACKGROUND

Machine learning can roughly be characterized as the process of creating algorithms that can learn a behavior from examples. One simple example is that of pattern classification. A series of input patterns are given to the algorithm along with a desired output (the label) and the algorithm learns how to classify the patterns by producing the desired label for any given input pattern. Such a method is called supervised learning since the human operator must provide the labels during the teaching phase. An example is the kernel-based SVM algorithm. Alternately, unsupervised “clustering” is a process of assigning labels to the input patterns without the use of a human operator. Such unsupervised methods must usually function through a statistical analysis of the input data, for example, finding the Eigen value vectors of the covariance matrix. One such example of unsupervised clustering is the suit of k-means algorithms.

A few problems have continued to challenge the field of machine learning. Few if any standard and accepted methods exist for learning based on few patterns or exemplars. Without sufficient examples, finding a solution that balances memorization with generalization is often difficult. The difficulty is due to separation of a training and testing stage, where the variables that encode the algorithms learning behavior are modified during the learning stage and tested for accuracy and generalization during the testing phase. Without sufficient examples during the learning stage, it is difficult or impossible to determine the appropriate variable configurations leading to this optimal point. Theoretically, the mathematical technique of support-vector-maximization provides an optimal solution, should there be sufficient training data to encompass the natural statistics of the data and presuming the statistics do not change over time, a problem called concept drift. The idea is that all input patterns are projected into a high dimensional where they are linearly separable space.

A linear classifier can then be used to label the data in binary classification task. A linear classifier can be thought of as a hyper plane in a high-dimensional space, where we call the hyper plane the decision boundary. All input falling on one side of the decision boundary results in a positive output, while all inputs on the other side result in a negative output. The support-vectors are the distances from the closest input points to the decision boundary. The process of maximizing this distance is the process of support-vector-maximization. However, without sufficient examples it is of little or no use since identifying the support-vectors requires testing a number of input patterns to find which ones are closer to the decision boundary. Indeed, some thought may convince the reader that finding the point of optimal generalization is not possible with only one example since by definition measuring generalization requires evaluation of a number of exemplars.

Another problem facing the field of machine learning is adaptation to non-stationary statistics, i.e., concept drift. The problem occurs when the statistic of the underlying data changes over time. Any method that relies on a separation of training and testing is doomed to failure, as whatever the algorithm has learned quickly becomes incorrect as time moves forward. Methods for continual real-time adaptation are clearly needed, but such methods are often at odds with the training methods employed to find the initial solution.

Another problem facing the field of machine learning is power consumption. Finding statistical regularities in large quantities of streaming information can be incredibly power intensive, as the problem encounters combinatorial explosions. The complexity of the task is echoed in biological nervous systems, which are essentially communication networks that self-evolve to detect and act on regularities present in the input data stream. It is estimated that there are between 2 and 4 kilometers of wires in one cubic millimeter of cortex. At 2500 cm2 total area and 2 mm thick, that is 1.5 million kilometers of wire in the human cortex, or enough wire to wrap around the earth 37 times.

For this reason, the closer one can match the distributed processors of the hardware to the structure of the underlying network being simulated, the less information must be shuttled back-and-forth between memory and processor and the lower the power dissipation required for emulation. The limit of efficiency occurs when the hardware becomes the network, which occurs when memory becomes processing. We call this point physical computation, since the physical properties of the system are now “computing” the answer rather than the answer being arrived at abstractly through operations on numbers represented as binary values. Physical computation is related to, but not the same as, analog computation. For example, consider the problem of simulating the fall of a rock dropped from some height. We may go about a solution in a number of ways. First, we may derive a mathematical expression and evaluate this on a digital computer. This is digital computing. Second, we may solve a differential equation by noticing the equations of motions are mathematically equivalent to some other process, for example, those of transistor physics. This is analog computing. The third option is that we could find a rock and drop it. This is physical computing. Relatively simple arguments can be made to show that this is the only practical solution to large adaptive systems on the scale of living systems such as a brain. Digital and analog computing each suffer from the memory-processing duality, a condition which does not exist in nature and which introduces very high power dissipations for highly adaptive large-scale systems.

As an example of just how significant computation is, consider IBM's recent cat-scale cortical simulation of 1 billion neurons and 10 trillions synapses. This effort required 147,456 CPUs and ran at 1/100th real time. At a power consumption of 20 W per CPU, this is 3 megawatts. If we presume perfect scaling, a real-time simulation would consume 100× more power: 300 megawatts. A human brain is ˜20 times larger than a cat, so that a real-time simulation of a network at the scale of a human would consume 6 GW if done with traditional serial processors. This is 600 million times more energy than a human brain actually dissipates. It is worth consideration that every brain in existence has evolved for just one purpose: to control an autonomous platform. An algorithm for finding regularities in large quantities of streaming information that cannot be mapped directly to physically adaptive hardware will likely not find use in mobile platforms, as the energy demands far exceed practical power budgets.

BRIEF SUMMARY

The following summary of the invention is provided to facilitate an understanding of some of the innovative features unique to the present invention and is not intended to be a full description. A full appreciation of the various aspects of the invention can be gained by taking the entire specification, claims, drawings, and abstract as a whole.

It is, therefore, one aspect of the disclosed embodiments to provide for an improved feature extraction method and system.

It is another aspect of the disclosed embodiments to provide for methods and systems for feature extraction of surface manifolds from noisy point cloud data sources.

It is yet another aspect of the disclosed embodiments to provide for an autonomous vehicle that includes one or more sensors that measures the distance to and/or other properties of a target by illuminating the target with light.

It is still another aspect of the disclosed embodiments to provide for an autonomous vehicle in which the aforementioned sensor(s) provides sensor data indicative of one or more surface manifolds and wherein point data is generated with respect to the surface manifold(s).

It is also an aspect of the disclosed embodiments to provide for an autonomous vehicle that utilizes an AHaH (Anti-Hebbian and Hebbian) based mechanism that performs an AHaH-based feature extraction operation on the point data for compression and processing thereof.

The aforementioned aspects and other objectives and advantages can now be achieved as described herein. Methods and systems for feature extraction of surface manifolds are disclosed herein including applications for autonomous vehicles. In general, pixilated data with depth information can be generated via techniques including, for example, LIDAR (also sometimes referred to as LiDAR or Lidar). An AHaH-based feature extraction operation can be automatically performed on or with respect to the point data for compression and processing thereof. The results of the AHaH-based feature extraction operation can be output as a compressed binary label representative of the at least one surface manifold rather than the point data to afford a high-degree of compression for transmission or further processing thereof. Additionally, one or more voxels of a point cloud composed of the point data can be scanned in order to recover the compressed binary label, which represents prototypical surface patches with respect to the surface manifold(s).

In some example embodiments, an autonomous vehicle can include one or more sensors that measure the distance to and/or other properties of a target by illuminating the target with light. The sensor(s) provides sensor data indicative of one or more surface manifolds. Point data is generated with respect to the surface manifold(s). AHaH (Anti-Hebbian and Hebbian) based mechanism performs an AHaH-based feature extraction operation on the point data for compression and processing thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying figures, in which like reference numerals refer to identical or functionally-similar elements throughout the separate views and which are incorporated in and form part of the specification, further illustrate the present invention and, together with the detailed description of the invention, serve to explain the principles of the present invention.

FIG. 1 illustrates a graph depicting data indicative of a meta-stable switch, in accordance with the disclosed embodiments;

FIG. 2 illustrates a sample graph of a Lissajous I-V curve, in accordance with the disclosed embodiments;

FIG. 3 illustrates a schematic diagram of a synapse based on a differential pair of memristors, in accordance with the disclosed embodiments;

FIG. 4 illustrates a schematic diagram depicting a circuit that includes plurality of AHaH nodes, in accordance with the disclosed embodiments;

FIG. 5 illustrates a schematic diagram of a group of differential synapses;

FIG. 6 illustrates a schematic diagram of a 2-1 post-flip AHaH circuit, in accordance with the disclosed embodiments;

FIG. 7 illustrates a data structure of four different distributions on two wires x0 and x1, in accordance with the disclosed embodiments;

FIG. 8 illustrates a schematic diagram of AHaH rule attractor points representing bifurcations of its input space, in accordance with the disclosed embodiments;

FIG. 9 illustrates a collective of AHaH nodes each occupying distinct attractor states that can distinguish features, in accordance with the disclosed embodiments;

FIG. 10 illustrates a schematic diagram of a system of AHaH nodes, in accordance with the disclose embodiments;

FIG. 11 illustrates a block diagram of a basic module layout, where the noisy input X0 in dimension D0 is reduced in dimensionality and conditioned to a stable bit pattern X1 in dimension D1, which is further reduced to a maximally efficient compact bit pattern X2 in dimension D2, in accordance with the disclosed embodiments;

FIG. 12 illustrates a graphical representation of a collection of points from a measurement representing a surface patch;

FIG. 13 illustrates a graph indicating that LIDAR point data may be encapsulated within voxels, which can be further discretized into grid elements and used to construct an activity vector consisting of the indices to the grid elements that contain point data, in accordance with the disclosed embodiments;

FIG. 14 illustrates a side view of an autonomous vehicle with an sensor located on the vehicle's roof, in accordance with an example embodiment;

FIG. 15 illustrates a side view of an autonomous vehicle equipped with a plurality of sensors disposed on different locations of the vehicle, in accordance with an alternative example embodiment;

FIG. 16 illustrates an enlarged view of the back roof line of the autonomous vehicle shown in FIG. 15 with a fin-shaped unit housing an sensor; and

FIG. 17 illustrates a block diagram of the autonomous vehicle, in accordance with an example embodiment.

DETAILED DESCRIPTION

The particular values and configurations discussed in these non-limiting examples can be varied and are cited merely to illustrate an embodiment of the present invention and are not intended to limit the scope of the invention.

The embodiments will now be described more fully hereinafter with reference to the accompanying drawings, in which illustrative embodiments of the invention are shown. The embodiments disclosed herein can be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout. That is, as utilized herein, identical reference numerals used in different drawings refers generally to the same feature or element. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.

The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

The disclosed embodiments offer first a mechanism that can optimally produce a series of labels responding to features in an input data stream. Given a set of noisy, incomplete but re-occurring patterns, the goal is to output stable labels for the patterns. We can achieve this goal by using a collection of AHaH nodes to collapse the input space from a high-dimensional and noisy input space to a low-dimensional and noise-free space, where we can then perform exact bit matching on the output to further reduce the dimensionality. Because our methods can be constructed as a physical circuit, we will proceed with a background on memristors as meta-stable switches and the AHaH plasticity rule. However, the methods may also be utilized in more traditional methods of software and hardware where we extract core mathematical models and simulate these models within our computing system. The AHaH rule can be understood as a two-part procedure of state evaluation that results in negative feedback to the synaptic state (Anti-Hebbian Learning) followed by state reinforcement that results in positive feedback to the synaptic state (Hebbian learning). Such techniques are detailed in, for example, U.S. Pat. No. 7,599,895, which is incorporated herein by reference.

A memristor is a collection of meta-stable switches (MSS). Each MSS possesses at least two states, A and B, separated by a potential energy barrier. This can be seen in illustration 1. We will set the barrier potential as the reference potential V=0. The probability that the MSS will transition from the A state to the B state is given by P_(A), while the probability that the MSS will transition from the B state to the A state is given by Pa.

The transition probabilities [P_(A). P₈] can be modeled as:

$P_{A} = {{a\frac{1}{1 + e^{- {\beta {({{\Delta \; V} - V_{A}})}}}}} = {a\; {\Gamma \left( {{\Delta V},V_{A}} \right)}}}$ P_(B) = a(1 − Γ(Δ V, −V_(B)))

In this case,

$\beta = \frac{q}{kT}$

is the thermal voltage and is equal to 26 mV,

$\frac{\Delta \; t}{t_{c}}$

is the ratio of the time step period Δt to the characteristic time scale of the device t_(c) and ΔV is the voltage across the device. We will define P_(A) as the positive-going direction so that a positive applied voltage increases the chances of occupying the B state. Each state has an intrinsic electrical conductance given by w_(A) and w_(B). An MSS possesses utility in an electrical circuit as a memory or adaptive computational element so long as these conductances are different. We will take the convention that w_(b)≥w_(e).

FIG. 1 illustrates a graph 10 depicting data indicative of a meta-stable switch, in accordance with the disclosed embodiments. A meta-stable switch is a two-state device that switches probabilistically between its states as a function of applied bias and temperatures. A memristor is a collection of N meta-stable switches. We can model this in discrete time steps Δt. The memristor conductance is given by the sum over each meta-stable switch:

W _(m) =N _(A) w _(A) +N _(B) w _(B) =N _(B)(w _(B) −w _(A))+Nw _(A)

wherein N_(A) is the number of MSS's in the A state, N_(B) is the number of MSS's in the B state and N=N_(A)+N_(B). At each time step some sub-population of the MSSs in the A state will transition to the B state, while some sub-population in the B state will transition to the A state. The probability that k switches will transition out of a population of n switches given a probability of p is given by the binomial distribution:

${P\left( {n,k} \right)} = {\frac{n!}{{k!}{\left( {n - l} \right)!}}{p^{k}\left( {1 - p} \right)}^{n - 1}}$

As n becomes large, we may approximate the binomial distribution with a normal distribution:

${G\left( {\mu,\sigma^{2}} \right)} = {\frac{1}{\sqrt{2\; \pi \; \sigma^{2}}}e^{\frac{- {({x - \mu})}^{2}}{2\; \sigma^{2}}}}$

wherein μ=np and σ²=np(1−p).

The change in conductance of a memristor is a probabilistic process since a memristor is composed of discrete meta-stable switches. Using the approximation above, the number of MSSs that transition between A and B states is picked from a normal distribution with a center at np and variance np(1−p), where the state transition probabilities are given as above.

The update to the memristor conductance is thus given by the contribution from two random variables picked from two normal distributions:

ΔN _(B) =G(N _(A) P _(A) ,N _(A) P _(A)(1−P _(A)))−G(N _(B) ,P _(B) ,N _(B) P _(B)(1−P _(B)))

The update to the conductance of the memristor is then given by:

Δw _(m) =ΔN _(B)(w _(B) −w _(A))

To measure the characteristic timescale of the device, one may initialize a memristor into a non-equilibrium state such as N_(B)=N or N_(B)=0 and measure the decay back to an equilibrium conductance period under zero bias.

FIG. 2 illustrates a sample graph 20 of a Lissajous I-V curve, in accordance with the disclosed embodiments. Graph 20 plots output current along the y-axis versus input voltage along the x-axis for a sample memristor in graph 20. A memristor is intrinsically a stochastic element, although if composed of many MSSs or subjected to large voltage differentials, it may appear to be deterministic. Depending on the relative values of V_(A) and V_(B), the device will display a range of characteristics. Of some interest is the property of decay and a non-conducting ground state, which we can be achieved under the conditions V_(B)<V_(A), V_(A) ⇒kTlq and w_(B)>w_(A).

The utility of a memristor lies in its ability to change its conductance as a function of the voltage history applied to the device. This can be illustrated by a Lissajous I-V curve that shows how the conductance of a memristor changes over time as a sinusoidal voltage is applied.

The core device element of our self-organizing unit or node is thus the meta-stable switch and a memristor can be seen as a device composed of a collection of meta-stable switches. A synapse is a differential pair of memristors: W=w₀−w₁, where W denotes the difference in conductance between the two memristors composing the synapse.

FIG. 3 illustrates a schematic diagram of a synapse 30 based on a differential pair of memristors 32, 34, in accordance with the disclosed embodiments. The configuration shown in FIG. 3 is not unique and in fact there exists three possible configurations: 2-1, 1-2, and 2-2, which refers to the number of input and output electrodes on the synapse. A further discussion of possible arrangements can be found in U.S. Pat. No. 7,599,895 entitled “Methodology for the Configuration and Repair of Unreliable Switching Elements,” which issued on Oct. 6, 2009, and is incorporated herein by reference in its entirety.

The probability that a meta-stable switch will transition from its ground state to excited state is a function of the applied voltage and time it is applied. For this treatment, we will take the function to be quadratic in voltage and linear in time as indicated by the following equation:

P(E ₀ →E ₁)≈αV ² T

In the above equation, the variable a represents a constant and the variable T represents a characteristic update timescale. We are thus presuming that both applied voltage polarities will cause the memristor to increase its conductance. This is the case in memristors composed of nanoparticles in a colloidal suspension, but is not true of all memristors, for example, those reported by Hewlett-Packard, University of Boise, University of Michigan, UCLA, and others. In these cases, a reverse voltage polarity will cause a decrease in device conductance. This is shown above in FIG. 2.

Furthermore, a memristor may act as an intrinsic diode. This is true of some memristors, for example, that reported of U of M, but not of others (U of B). We may thus categorize the various types of memristors as polar or non-polar in regards to their ability to change conductance as a function of the applied voltage and rectifying or non-rectifying as a function of their intrinsic (or not) diode properties. Our methods apply to all such configurations, although various synaptic configurations (1-2, 2-1, 2-2) must be used. Furthermore, a mechanisms for lowering the conductance of the device must be available, be it a reverse bias, application of high frequency AC voltage, or simply to let it decay over time.

FIG. 4 illustrates a schematic diagram depicting a circuit 40 that includes a plurality of AHaH nodes 42, 44, and 46, in accordance with the disclosed embodiments. Circuit 40 further includes memristors 50 to 84. An AHaH node is a collection of synapses and associated CMOS feedback circuitry acting on one of the three possible electrode configurations of 1-2, 2-1, or 2-2. We will illustrate the 2-1 case below for non-rectifying polar memristor. Synapses are formed at the intersection of output and input electrodes. A synapse is a differential pair of memristors between the two output electrodes and one input electrode, as shown in illustration 3. A node is formed from many such synapses connecting many inputs to the node's electrode, as seen in FIG. 4. Many such circuits are possible for providing feedback voltage to the node's electrode. Before we discuss one possible circuit, let us turn our attention to one node and recognize it as a series of voltage-divider circuits formed from the input lines.

FIG. 5 illustrates a schematic diagram of a group of synapses, wherein each synapse can be seen as a voltage divider prior to application of feedback voltage, in accordance with the disclosed embodiments. The sample synapses shown in FIG. 5 include memristors 52, 54, 56, 58, 60, and 62. In general, the AHaH rule is composed of two basic phases: Evaluate and Feedback. During the evaluate phase, input voltages are applied and these voltage are integrated via the differential synapses on the nodes electrode. The evaluation phase is a passive process and, in the case of the 2-1 configuration, consists of solving for the steady-state voltage. It should be noted that during this phase, each synaptic state undergoes negative feedback.

For example, suppose a memristor was highly positive so that: w₀>>w₁. This will have the effect of pulling the electrode voltage (V in illustration 3 and 5) up, reducing the voltage drop across the w₀ memristor, but increasing it over the w₁ memristor. This will cause the w₁ to increase its conductance more than the w₀ memristor, thus moving the synapse back toward the zero-point. During the feedback phase, positive feedback is applied to the electrode via a voltage-keeper circuit. During the feedback phase, the synapse undergoes an update that is opposite in direction to that which it received during the evaluation phase and it proceeds for a variable time. This can be seen more clearly in FIG. 6, where we have identified four basic phases, θ0 through θ3, labeled charge, evaluate, feedback, and decay, respectively.

FIG. 6 illustrates a schematic diagram of a 2-1 post-flip AHaH circuit 70, in accordance with the disclosed embodiments. Circuit 70 generally includes memristors 72, 74 and a voltage source 76 (V_(cc)/2), along with components 78, 80 and inverters 82, 84, and 86. A graph 88 also shown in FIG. 6, tracks charge, evaluate, feedback, and decay phases. In the most general case, we may omit the evaluate and decay phase, although we include them here for clarity. In the charge phase, voltages are applied to the inputs and the post-synaptic voltage is evaluated via a passive integration. In the evaluate phase, the positive-feedback voltage keeper circuit controlled with clock C0 is activated. During feedback, the post-synaptic voltage is inverted through deactivation of passgate with clock C1 and activation of inverter C2.

During the decay phase, the inputs are inverted and the post-synaptic electrode voltage is set to ½ of the supply voltage such that each memristor receives equal and opposite voltage and thus achieves an “accelerated decay.” This phase may be removed from each clock cycle, for example, occurring once every 100-clock cycles, or should the memristor have a natural decay rate commiserate with the usage, a period of sleep would suffice. One can see how many strategies are available to accomplish the basic anti-hebbian and hebbian phases of the AHaH rule.

The operation of the device can be seen as a “memory read” and “memory refresh cycle,” where the act of read (evaluate) damages the synaptic states, while feedback repairs the state. It is obvious that each memristors conductance would saturate over time if not reduced. This can be accomplished by adding a decay phase in the cycle as shown by providing for a sufficiently long rest-state to allow the memristors to decay or to force the decay by applying an equal-magnitude reverse bias across both memristors after a set or variable number of cycles. Although there are multiple ways to accomplish the task, the net effect is simply to decay the memristors to keep them operating within their dynamic range and to prevent saturation over time. We call such an operation a synaptic normalization. As the dynamic range of the memristors increases, the frequency of synaptic renormalization may be reduced.

A fundamentally important property to the AHaH rule is that as the magnitude of the post-synaptic activation becomes large, the Hebbian portion of the update must decrease in magnitude or transition to Anti-Hebbian. This property insures the rule converges to independent components of the data that is being processed by the AHaH node.

Let us now take a step back and discuss data structure before again focusing on specific circuit implementations. Suppose that we took a monochromatic digital picture of page of text. By arranging the pixels in proper rows and columns, you would of course be able to perceive the text and understand what is written. However, the underlying data structure is not letters, its binary pixels. By simply taking the array of pixels and arranging them into any other pattern, what was coherent is now an incoherent jumble of bits. The conclusion is that the structure of the information (the letters) is not the same as the information channels that carry the information (the pixels). The primary function of unsupervised clustering algorithms is to uncover the structure of the information.

Two wires carrying the same sequence of bits do not carry any additional information. This is captured in the concept of mutual information, which measures how much one signal tells us about another signal. If the mutual information between wire A and wire B was 1, for example, they carry the same information. If the mutual information is zero, then they are independent. Let us visualize this with respect to FIG. 7, which illustrates a data structure 90 of four different distributions on two wires X0 and X1, in accordance with the disclosed embodiments. These four different distributions are: (I) The mutual information between X0 and X1 is 1 and no states can be distinguished; (II) Two states can be resolved; (III) Three states can be resolved; and (IV) Nine states can be resolved.

We must make two important points about FIG. 7. First, the number of states carried by the wires is in general unrelated to the number of wires that carry the information. For binary encodings, the total number of resolvable states over N wires is as high as 2^(N), but likely much lower. The first challenge in unsupervised clustering or learning algorithms is to resolve underlying states from observations over time. Second, wires that do not resolve more than one state are useless. Think about it this way: suppose you were locked in a room and could only observe two light blubs. If the light blubs were always on, as in (I) of Illustration 7, they can convey no information. On the other hand, if one of the light blubs blinked on and off while the other remained on as in (II), you could distinguish between two states. Something must be causing that light to turn on and off. There must be a source. What is the nature of this source? An answer to this question gets at the heart of machine learning. Suppose that our observations of two wires X0 and X1 led to the distribution of II. Furthermore, once we recognized the existence of two states we took note of their specific sequence over time: ABAABBABAABB . . . .

We can now identify further temporal structure. It is temporal structure that allows us to infer the existence of a source or mechanism in the environment, since temporal events link cause and effect. Explaining a temporal sequence requires a model of a mechanism that generates the sequence. We could analyze the sequence in a number of ways. For example, the sequence AA follows AB, BB follows AA, and AA follows AB, repeating in a cycle. On the other hand, the sequence ABAABB is simply repeating, or ABB follows ABA. How we view the sequence is dependent on the temporal window we are capable of holding in memory. This leads us to an important simplifying observation. The sequence above is not actually a sequence! It is spatial pattern. After all, what we have communicated is static letters on a page, not a temporally dynamic video or song. By recording in temporary memory prior states, we have converted a temporal pattern into a spatial pattern. The problem of identifying temporal structure then becomes the problem of identifying spatial structure.

It is this realization that has spawned the recent work in liquid and echo state machines (e.g., respectively, a liquid state machine and an echo state machine) which have been used successfully in predicting/modeling time sequences and learning temporal transfer functions. A rock thrown into a still pond will create ripples such that taking a picture at any instant in time enables the past to be reconstructed. Temporal structure is converted into spatial structure when information travels through networks of path-delays.

Suppose we created a large dynamic network as in biological cortex, where pulses traveled between nodes over links. The fact that a signal takes time to propagate over a link introduces a time-delay in the network and at this moment temporal structure is converted into spatial structure.

For example, two pulses that arrive at the same time at a node could have taken two paths: one path could come directly from a sensory input while the other could have come from another sensory input multiple times steps in the past. What the node perceives as a spatial coincidence is actually a prediction, and the prediction has been encoded as links in the network.

Recall from the discussion of FIG. 7 that only states, which can be distinguished, are useful. A light that is always on or always off can communicate no information and can serve no useful function to a network. Extraction of data structure would then appear to be related to a fundamental operation of differentiation between states over time. Given some time series of vectors P=[p₀, p₁, p₂, . . . p_(n)], what spatial states can be distinguished? What are the spatial building blocks? Technically, we are looking for the extraction of signals that are independent in time.

If an input pattern falls on one side of the decision boundary, the output of the AHaH node is positive, while it is negative if it is on the other side of the boundary. Stated another way, the node output is an efficient binary encoding representing one natural independent component of the input data distribution. It is clear that a single AHaH node cannot alone become selective to a particular feature or pattern in the data. For example, consider the distribution of IV in FIG. 8. There are nine input data states or patterns. An AHaH node may only bifurcate its space as it can only output a binary label. However, a collective of AHaH nodes each occupying different states can, as a group, distinguish each feature.

Suppose we had two input wires that carried a sequence of vectors that, over time, matched the distribution of IV in FIG. 8. These two inputs connect to four AHaH nodes, 1-4. One such configuration is seen in FIG. 9. FIG. 9 illustrates a collective 102 of AHaH nodes each occupying distinct attractor states that can distinguish features. Lines 1-4 in FIG. 9 represent the decision boundaries of AHaH node 1-4. Features A-I fall in FIG. 9 on various sides of each node decision boundary so that each feature results in a unique binary output from the group of AHaH nodes.

Given some input pattern, we can simply read off the output value of each node as a binary label that encodes each unique feature. Feature A gets the binary label 0011 because node 1 output is negative, 2 is negative, 3 is positive, and 4 is positive.

In such a way, a collective of AHaH nodes serves as a “partitioning” or “clustering” algorithm, outputting a unique binary label for each unique statistically independent input source, regardless of the number of input lines that carry the data.

The core operation of a collective of AHaH nodes can be seen in FIG. 10. Many sparse binary (spiking) inputs synapse onto a small collection of AHaH nodes. Each temporally correlated group of inputs forms independent components (IC) and the AHaH rule binds these inputs together by assigning them synapses of the same sign. In FIG. 10, we can see six IC's with positive weights shown as green and negative as red. The space of allowable AHaH states is 2^(F), wherein F is the number of input features (i.e., patterns). However, we do not wish each AHaH node to occupy every state. There is a possibility of all weights attaining the same sign, a condition we call the null state. The null state is useless computationally as the node's output never changes. To prevent occupation of the null state, we include a bias input that is always active and only ever receives anti-Hebbian updates.

To emphasize the general quality of the AHaH rule and its applicability outside of purely physically adaptive circuits, we will re-state the rule in a more generic mathematical form:

Δw _(i) =x _(j) f(y)

y=Σ _(i=0) ^(N) x _(i) w _(i) +x _(bias) w _(bias)

f(y)=−αy+β·sign(y)

Δw _(bias) =−γy

In the above formulation/equations, α, β, and γ are constants, x_(i) is the ith input and w_(i) is the ith weight. We may generally presume that the inputs are binary and sparse so that only small subset, perhaps 10% or less, of inputs are active. Seen in this light, we may simply set x=1 for all active inputs and state that weights are modified when they are used and not otherwise. The bias can be seen as an input that is always active, and the update to the bias weight can be seen as purely anti-Hebbian. The constants control the relative contribution of positive and negative feedback and may be modified to achieve certain desired results. For example, by increasing the contribution of the bias input, we may increase a “restoring force” that forces the AHaH node into a state that bifurcates its input space. The net effect is a subtraction of an adaptive average. If the node has found an attractor state that splits its space in half, such that approximately half of the ICs are given positive weights and half are given negative weights, the average node output will be zero and the bias weight will be zero. If the output becomes unbalanced, the bias will bring it back, thus preventing the occupation of the null state.

FIG. 10 illustrates a schematic diagram of a system 104 of AHaH nodes. As shown in FIG. 10, the core operation of the collection or system 104 of AHaH nodes is spatial pooling of input lines into temporally independent components (IC), collapsing the large input space, and outputting stable binary labels for input features.

Once each AHaH node has settled into unique attractor states, the collective will output a binary label for each input feature, converting large, sparse, incomplete, noisy patterns into small, complete, noise-free binary patterns. There are various ways of describing this operation in the literature. We are performing a spatial pooling in that we are collapsing a large set of input patterns into a much smaller set, also known as clustering. We emphasize, however, that we are certainly not clustering in the traditional sense.

Methods like k-means perform projection operations, taking an input vector and projecting it onto the weight vectors of each node. The node with the best match is considered the “winner” and its weight vector is moved closer to the data pattern. The projection operation is critically dependent on the number of nodes used, which we believe to be an incorrect starting assumption. This is like presuming an absolute reference frame on the incoming data statistics. Given 10 nodes, the data will be projected onto a 10-dimensional coordinate axis, regardless of the natural statistics of the data. Our microcircuit is like a relative reference frame, where a feature is only distinguishable because it is not another feature. If the underlying dimensionality of the feature space is 10, for example, our circuit will output 10 labels independent of the number of AHaH nodes.

We are generating labels (L) for features (F). Let us presume that each AHaH node will randomly assign each IC to either the positive or negative state. The total number output labels is 2^(N), where N is the number of AHaH nodes. If N is small and the number of features high, it is possible that the AHaH node collective will output the same label for different features. However, as the number of nodes increases, the probability of this occurring drops exponentially. Specifically, the probability P that any two features will be assigned the same binary label goes, as:

$P = {{\frac{1}{2^{N}} + \frac{2}{2^{N}} + \ldots + \frac{F}{2^{N}}} = {\frac{\sum\limits_{0}^{F}i}{2^{N}} = \frac{F^{2} + F}{2^{N + 1}}}}$

For 64 features and 16 nodes, the probability of two nodes being assigned the same label is 3%. By increasing N to 20 we can reduce this to only 0.4% and with 32 nodes it is less than one in a million.

Let us suppose for our purposes that we have 16 nodes so that the output of the collective is a stable 16-bit pattern. Each of the 16 bit patterns represents a feature. Although the space of possible patterns is 2¹⁶, only a small subset will ever occur if the data is structured. However, far from noisy and incomplete, the bit patterns are stable and can therefore be matched exactly. A further reduction from 16 bits to, for example, 8 bits can be accomplished through the use of content-addressable memory (CAM) or a least-recently-used-cache (LRUC) or other common methods. For example, given a set of 256 patterns we store patterns as rows and match new patterns bit-for-bit against new patterns.

Let us now return to FIG. 4, which depicts an array of M AHaH nodes (AHAH₀, AHAH₁, . . . , AHAH_(M)) receiving inputs from an array of inputs (X₀, X₁, . . . , X_(N)) and producing an output on a register R with values (R₀, R₁, . . . , R_(N)). The output of this register is a binary bit pattern of length M, which we may feed into a CAM to further reduce its dimension. This can be seen in FIG. 11, which shows the AHaH module providing an output that is input to the CAM module.

Content-Addressable Memory (CAM) is well known in the art and many such embodiments are possible. Indeed, many variations may be used in the circuit described in FIG. 11.

FIG. 11 illustrates a block diagram of a basic module layout 120, where the noisy input X0 in dimension D0 is reduced in dimensionality and conditioned to a stable bit pattern X1 in dimension D1, which is further reduced to a maximally efficient compact digital encoding in dimension D2, in accordance with the disclosed embodiments.

The basic operation of our circuit is thus as follows: a large and likely sparse input is presented to a synaptic matrix of AHaH nodes, termed the AHaH module, which operates the AHaH plasticity rule via the evaluate-feedback cycle as discussed. A bias input line is modulated such that the bias weights do not receive the Hebbian portion of the weight update during the feedback cycle, which prevents occupation of the null state. The collection of AHaH nodes or AHaH module 122 fall randomly into their attractor states, which act to bifurcate their input space. The output of the AHaH module 122 forms a stable bit pattern, which is then provided as an input to a Content-Addressable Memory or CAM 124 for further reduction of dimensionality. The output of the CAM 124 thus provides maximally efficient binary labels for the regularities present in the input to the AHaH module 122.

The methods developed above are ideally suited for applications where large quantities of sparse data must be encoded into discrete packets or labels and transmitted over a wire. One such application is the identification of LIDAR surface manifolds from point cloud data. Rather than transmitting, for example, 1000 points of data we may only transmit the binary label for the particular surface patch that these points are revealing.

LIDAR (Light Detection And Ranging, also LADAR) is an optical remote sensing technology that can measure the distance to, or other properties of a target by illuminating the target with light, often using pulses from a laser. LIDAR technology has application in geomatics, archaeology, geography, geology, geomorphology, seismology, forestry, remote sensing, and atmospheric physics as well as in airborne laser swath mapping (ALSM), laser altimetry, and LIDAR contour mapping.

The acronym LADAR (Laser Detection and Ranging) is often used in military contexts. The term “laser radar” is sometimes used, even though LIDAR does not employ microwaves or radio waves and therefore is not radar in the strict sense of the word.

LIDAR uses ultraviolet, visible, or infrared light to image objects and can be used with a wide range of targets, including non-metallic objects, rocks, rain, chemical compounds, aerosols, clouds, and even single molecules. A narrow laser beam can be used to map physical features with very high resolution.

LIDAR has been used extensively for atmospheric research and meteorology. Downward-looking LIDAR instruments fitted to aircraft and satellites are used for surveying and mapping, a recent example being the NASA Experimental Advanced Research LIDAR. In addition, LIDAR has been identified by NASA as a key technology for enabling autonomous precision safe landing of future robotic and crewed lunar landing vehicles. LIDAR is also being employed in the context of, for example, autonomous vehicles (also referred to as “self-driving” vehicles).

Wavelengths in a range from about 10 micrometers to the UV (ca. 250 nm) are used to suit the target. Typically light is reflected via backscattering. Different types of scattering are used for different LIDAR applications; most common are Rayleigh scattering, Mie scattering, and Raman scattering as well as fluorescence. Based on different kinds of backscattering, the LIDAR can be accordingly called Rayleigh LIDAR, Mie LIDAR, Raman LIDAR, Na/Fe/K Fluorescence LIDAR, and so on.

Suitable combinations of wavelengths can allow for remote mapping of atmospheric contents by looking for wavelength-dependent changes in the intensity of the returned signal.

FIG. 12 illustrates a graphical representation of a collection of points from a LIDAR measurement(s) representing a surface patch 130, in accordance with the disclosed embodiments. As may now be appreciated, LIDAR is a technology that can be used to image an area by sending out pulses of light and detecting the backscattered radiation. This technology produces what has become known as a “point cloud” data representation that consists of a collection of many points, where each point has an “XYZ” coordinate and perhaps more attributes such as color. If one breaks the LIDAR data into smaller “3D pixels” or voxels of a certain size, one is left with a volume of space and a collection of LIDAR points that encode one or more surfaces. As the size of the voxel is reduced, the number of LIDAR points captured in the space will of course reduce. Although LIDAR produces a point representation, what is actually being sensed is a surface in many cases. It is therefore advantageous to have efficient mechanisms for converting the point representation in a more compact “surface patch” representation for transmission and further processing.

The methods we have illustrated for spontaneous extraction of features via a collation of AHaH nodes may be employed for extraction and encoding of surface patches from LIDAR point data. The LIDAR point data may be broken down into two parts. First, we may decompose the three-dimension space into voxels. Each voxel is composed of a number of element volume elements that may contain one or more LIDAR points. We are showing the 2D representation for convenience. It can be easily seen how the LIDAR point data may be represented as a voxel with active and inactive grid elements, where a voxel grid element is considered active if it contains within its spatial boundary one or more LIDAR points. The output of the voxel is thus a sparse binary activation vector consisting of the grid elements that are active.

FIG. 13 illustrates a graph 134 indicating that LIDAR point data may be encapsulated within voxels, which can be further discretized into grid elements and used to construct an activity vector consisting of the indices to the grid elements that contain LIDAR point data, in accordance with the disclosed embodiments. In the example shown in FIG. 13, grid elements [12, 14, 17, 19, 23, 29, 40] are active. We may thus activate the corresponding input lines of an AHaH feature extraction system as in the configuration shown in FIG. 11. By scanning the voxel over the LIDAR point cloud, we may recover binary labels that represent prototypical surface patches. The output is thus a compressed binary label representative of a surface manifold rather than the point data, thus affording a high degree of compression for transmission or further processing.

It can be appreciated that the exact features, which are produced through this technique, are dependant on the statistics of the LIDAR data, which in turn are a direct reflection of the statistics of the environment it is measuring. Thus, the method has the potential to provide a high degree of compression due to the fact that the based features extracted represent the characteristic features of the environment. For example, the commonly occurring surface features within a city are largely flat and orthogonal to the ground whereas features within a more nature environment like a forest may occur at many orientations.

FIG. 14 illustrates a side view of an autonomous vehicle 212 with a sensor 210 located on the roof of the vehicle 212, in accordance with an example embodiment. The sensor 210 can be, for example, a LIDAR (Light Detection and Ranging) device, a coherent optical sensor (e.g., which like LIDAR uses a laser to illuminate the road ahead, but like a radar, treats the reflected signal as a wave rather than a particle), a vision-based digital camera (e.g., a 360 degree digital camera), a camera-radar fusion unit, a camera-LIDAR fusion unit, or another type of remote sensing device, or a combination of various types of sensors. Sensor 210 can be implemented as, for example, an optical remote sensor such as a LIDAR device (e.g., a LIDAR sensor or LIDAR apparatus or LIDAR system), the aforementioned coherent optical sensor, etc.

Note that the term “autonomous vehicle” (also referred to as “self driving” vehicles) can be defined herein as a vehicle that is configured to sense its environment and navigate itself with or without human interaction. An autonomous vehicle may operate in one or more modes, including a fully autonomous mode, a semi-autonomous (for example, adaptive cruise control) mode, or in a manual mode (e.g., the human operator/driver has control of the vehicle). Thus, the term autonomous vehicle as utilized herein includes not only vehicles that are completely self-driving or completely autonomous, but in some cases, vehicles with an actual driver and driver-assistance technologies. It should be appreciated that the term “vehicle” as utilized herein can refer not only to automobiles such as cars, trucks, semi-trucks, and so on, but can also refer to aircraft, such as airplanes, helicopters and other types of aircraft, such as mini aircraft, air taxis, personal airplanes, and so-called “flying cars”.

Such vehicles may be piloted by a human or may be semi-autonomous or completely autonomous. An autonomous vehicle may also include unmanned aerial vehicle or system (UAV/UAS), a drone, an unmanned ground vehicle, an unmanned water vehicle, or any other type of autonomous vehicle. Autonomous vehicles can include, for example, autonomous trucks including self-driving semi-trucks and transportation vehicles. Other examples of autonomous vehicles include vehicles that assist people in performing work such as cleaning buildings or mowing a lawn. For example, an autonomous vehicle may be a self-propelled lawn mower or service robot such as a vacuum cleaner.

One non-limiting example of an autonomous vehicle that can be adapted for use with an example embodiment is disclosed in U.S. Pat. No. 9,841,763, entitled “Predictive Sensor Array Configuration System for an Autonomous Vehicle,” which issued on Dec. 12, 2017 and is incorporated herein by reference in its entirety. Another non-limiting example of an autonomous vehicle that can be adapted for use with another example embodiment is disclosed in U.S. Pat. No. 9,840,253, entitled “Lane Keeping System for Autonomous Vehicle During Camera Drop-Outs,” which is incorporated herein by reference in its entirety. Another non-limiting example of an autonomous vehicle that can be adapted for use with an example embodiment is disclosed in U.S. Pat. No. 9,829,889, entitled “Autonomous Vehicle Advanced Notification System and Method of Use,” which issued on Nov. 28, 2017 and is incorporated herein by reference in its entirety. Yet another non-limiting example of an autonomous vehicle that can be adapted for use with an example embodiment is disclosed in U.S. Pat. No. 9,821,807, entitled “Methods and Systems for Determining Instructions for Pulling over an Autonomous Vehicle” which issued on Nov. 21, 2017 and is incorporated herein by reference in its entirety. Still, another example of an autonomous vehicle that can be adapted for use with an example embodiment is disclosed in U.S. Pat. No. 9,817,399, entitled “Autonomous Vehicle Speed Calibration,” which issued on Nov. 14, 2017 and is incorporated herein by reference in its entirety.

Note that a sensor such as the sensor 210 and other sensors discussed herein can be implemented in the context of different embodiments. For example, a device or system and vehicle such as disclosed in non-limiting U.S. Pat. No. 9,874,635, entitled “Lidar system,” which issued on Jan. 23, 2018 and which is incorporated herein by reference in its entirety, can be utilized to implement an embodiment of the sensor 210 and the vehicle 212 shown in FIG. 14. Although the sensor 210 shown in FIG. 14 is shown in a particular root mounted arrangement with respect to vehicle 212, it should be appreciated, however, that the sensor 210 and other sensors or sensing devices discussed herein can be implemented in more low-profile embodiments. For example, a non-limiting example of a sensing system that can be implemented in accordance with an embodiment is disclosed in U.S. Patent Application Publication No. 2018/0011173, entitled “Low-Profile Imaging System with Enhanced Viewing Angles,” which published on Jan. 11, 2018 and is incorporated herein by reference in its entirety. Another example of a low-profile system that can be utilized to implement the sensor 210 of FIG. 14 is the Toyota Research Institute Platform 3.0 autonomous vehicle prototype and related systems and devices discussed and depicted in the non-limiting Cars.com article entitled “Toyota's Next-Gen Self-Driving Car Looks Less Like a Science Project” by Fred Meier dated Jan. 5, 2018 (hereinafter referred to as the “Toyota article”) which is incorporated herein by reference. The sensor 210 can be implemented in the context of low-profile imaging and sensing systems such as disclosed in U.S. Patent Application Publication No. 2018/0011173 and the above-referenced Toyota article.

In some cases, the sensor 210 may be located in a different location of the vehicle 212. For example, sensor 210 may be located at the front of the vehicle 212. An example of such an embodiment is disclosed in U.S. Patent Application Publication No. 2018/0024246, entitled “LIDAR Apparatus for Vehicles,” which published on Jan. 25, 2018 and is incorporated herein by reference in its entirety.

FIG. 15 illustrates a side view of an autonomous vehicle 214 equipped with a plurality of sensors 213, 215, 217, 219 disposed on different locations of the vehicle 215, in accordance with an alternative example embodiment. Each sensor 213, 215, 217, 219 may be, for example, a LIDAR device and/or other types of sensors such as the coherent optical sensor or vision-based digital camera discussed above. In some example embodiment, sensor 213 may be a LIDAR device, sensor 215 may be a coherent optical sensor, and sensor 217 may be a vision-based digital camera, optical sensor 219 may be a camera-radar fusion unit, and so on.

Although only four sensors 213, 215, 217, and 219 are shown in the example embodiment shown in FIG. 15, it can be appreciated that fewer or more optical remotes sensors may be implemented with the autonomous vehicle 214 in accordance with varying embodiments. It can be appreciated that in addition to sensors such as LIDAR devices or sensors, vision-based cameras and so on, a variety of sensors can be implemented in varying and different configurations and with and in addition to sensors 213, 215, 217, 219. A plurality of sensors can include sensors as a camera sensor, a radar sensor, an infrared sensor a LIDAR sensor, and so on, in accordance with different example embodiments of the autonomous vehicle 214 shown in FIG. 15 or the autonomous vehicle 212 shown in FIG. 14.

In some example embodiments, the vehicles 212 and 214 may include a number of sensors, devices, and/or systems. Examples of the various sensors and systems may include, but are in no way limited to, one or more of cameras (e.g., independent, stereo, combined image, etc.), infrared (IR) sensors, radio frequency (RF) sensors, ultrasonic sensors (e.g., transducers, transceivers, etc.), RADAR sensors (e.g., object-detection sensors and/or systems), LIDAR systems, odometry sensors and/or devices (e.g., encoders, etc.), orientation sensors (e.g., accelerometers, gyroscopes, magnetometer, etc.), navigation sensors and systems (e.g., GPS, etc.), and other ranging, imaging, and/or object-detecting sensors. The sensors may be disposed in an interior space of the vehicles 212 or 214 and/or on an outside of the vehicles 212 or 214. In some embodiments, the sensors and systems may be disposed in one or more portions of the vehicles 212 or 214 (e.g., the frame 104, a body panel, a compartment, etc.).

The autonomous vehicle 214 shown in FIG. 15 can include a pre-determined exterior surface comprised generally of body sections including a roof 216, a front bumper section 218, a rear bumper section 220, a front windshield 222, a rear window 224, and vehicle-sides 226. Thus, the sensors 215 and 219 may be located on the roof 216 and the sensor 213 located near the rear bumper section with, for example, a vehicle light. Similarly, the sensor 217 may be located at the front bumper section 218. The sensor 219 may be located on the roof 216, but just above the front windshield 222.

FIG. 16 illustrates a block diagram of the autonomous vehicle 212, in accordance with an example embodiment. As shown in FIG. 16, the autonomous vehicle 212 includes one or more sensor(s) 210 associated with the autonomous vehicle 212. The sensor 210 (or sensors) measures a distance to and/or other properties of a target by illuminating the target with light, wherein the sensor 210 provides sensor data indicative of at least one surface manifold and wherein point data is generated with respect to the at least one surface manifold. The autonomous vehicle 212 further comprises an AHaH (Anti-Hebbian and Hebbian) based mechanism 250 that performs an AHaH-based feature extraction operation on the point data for compression and processing thereof.

The AHaH based mechanism 250 may be implemented in some example embodiments as an integrated circuit chip or a group of electronic integrated circuit chips that include electronic components such as memristors as discussed previously herein. In other example embodiments, the AHaH based mechanism 250 can be implemented as electronic hardware components and software. In other example embodiments, the AHaH based mechanism 250 may be composed primarily or entirely of software that, for example, processes data provide by the sensor 210 or other sensors.

As discussed previously, in some example embodiments, the sensor 210 may be a LIDAR (Light Detection and Ranging) device or another type of optical remote sensing device such as a camera, etc. In addition, in some embodiments an operation can be implemented for scanning at least one voxel of a point cloud composed of the point data in order to recover the compressed binary label which represents prototypical surface patches with respect to the at least one surface manifold. The aforementioned point data can comprise LIDAR point data and the surface manifolds can comprise LIDAR surface manifolds. The LIDAR point data is capable of being represented as a voxel with at least one active grid element and at least one inactive grid element, wherein a voxel grid element is considered active if the voxel grid element contains within a spatial boundary thereof at least one LIDAR point. In addition, the output of the voxel comprises a sparse binary activation vector including grid elements that are active, as discussed previously herein.

In some example embodiments, the AHaH based mechanism 250 may comprise a plurality of meta-stable switches as discussed previously. In other example embodiments, each meta-stable switch among the plurality of meta-stable switches can comprise a self-organizing unit. In still other example embodiments, each meta-stable switch among the plurality of meta-stable switches can comprise a self-organizing node. In addition, in some example embodiments, the AHaH based mechanism 250 can include one or more memristors each composed of the aforementioned plurality of meta-stable switches. The AHaH based mechanism 250 can also include at least one AHaH node comprising a plurality of synapses and associated feedback circuitry. Such associated feedback circuitry can act on at least one of three electrode configurations including a 1-2 electrode configuration, a 2-1 electrode configuration, or a 2-2 electrode configuration.

FIG. 17 illustrates a block diagram of the autonomous vehicle 214, in accordance with an example embodiment. The autonomous vehicle 214 shown in FIG. 17 can include a group of sensors 213, 215, 217, 219 associated with the autonomous vehicle 214, wherein such sensors measure the distance to and/or other properties of a target by illuminating the target with light, wherein the sensor(s) provide sensor data indicative of at least one surface manifold and wherein point data is generated with respect to the at least one surface manifold. The autonomous vehicle 214 can further include the AHaH (Anti-Hebbian and Hebbian) based mechanism 250 discussed previously, which performs an AHaH-based feature extraction operation on the point data for compression and processing thereof.

Based on the foregoing, it can be appreciated that a number of embodiments, preferred and alternative, are disclosed herein. For example, in one embodiment, a method for feature extraction of surface manifolds can be implemented. Such a method can include the steps or logical operations of, for example, generating point data with respect to at least one surface manifold, and performing an AHaH-based feature extraction operation on the point data for compression and processing thereof.

In another example embodiment, a step or logical operation can be implemented for scanning at least one voxel of a point cloud composed of the point data in order to recover the compressed binary label which represents prototypical surface patches with respect to the at least one surface manifold. In still another embodiment, the aforementioned point data can include LIDAR point data and the surface manifolds comprise LIDAR surface manifolds. In still another embodiment, the LIDAR point data is capable of being represented as a voxel with at least one active grid element and at least one inactive grid element, wherein a voxel grid element is considered active if the voxel grid element contains within a spatial boundary thereof at least one LIDAR point. In another embodiment, the output of the voxel can comprise a sparse binary activation vector including grid elements that are active.

In another example embodiment, a method for feature extraction can be implemented. Such a method can include, for example, the steps or logical operations of presenting an input to an AHaH module comprising a plurality of AHaH nodes, wherein the plurality of AHaH nodes operates according to an AHaH plasticity rule; and providing an output of the AHaH module as an input of a content-addressable memory for further reduction of dimensionability, wherein an output of the content-addressable memory provides maximally efficient binary labels for features present in the input to the AHaH module. In another embodiment, the plurality of AHaH nodes can fall randomly into attractor states, which act to bifurcate input space. In yet another embodiment, steps or logical operations can be implemented for providing a link structure so as to convert temporally phase-shifted activations patterns into temporally correlated activations and extracting binary labels of features of the temporally correlated activations for compression or processing thereof.

In another example embodiment, a system for feature extraction of surface manifolds can be implemented. Such a system may include, for example, a processor; a data bus coupled to the processor; and a computer-usable medium embodying computer program code, the computer-usable medium being coupled to the data bus. The computer program code can include instructions executable by the processor and configured for: generating point data with respect to at least one surface manifold; and performing an AHaH-based feature extraction operation on the point data for compression and processing thereof. In another embodiment, such instructions can be further configured for scanning at least one voxel of a point cloud composed of the point data in order to recover the compressed binary label which represents prototypical surface patches with respect to the at least one surface manifold. In another embodiment, the point data can constitute LIDAR point data and the surface manifolds can constitute LIDAR surface manifolds. In other embodiments, the LIDAR point data is capable of being represented as a voxel with at least one active grid element and at least one inactive grid element, wherein a voxel grid element is considered active if the voxel grid element contains within a spatial boundary thereof at least one LIDAR point. In another embodiment, the output of the voxel can comprise a sparse binary activation vector including grid elements that are active.

In still another example embodiment, a system for feature extraction can be implemented. Such a system can include, for example, an AHaH module comprising a plurality of AHaH nodes, wherein the plurality of AHaH nodes operates according to an AHaH plasticity rule and wherein an input is presented to the AHaH module, and a content-addressable memory, wherein the output of the AHaH can be provided as an input of the content-addressable memory for further reduction of dimensionability, wherein an output of the content-addressable memory provides maximally efficient binary labels for features present in the input to the AHaH module.

In another embodiment, the plurality of AHaH nodes can fall randomly into attractor states, which act to bifurcate their input space. In another embodiment, a link structure can convert temporally phase-shifted activations patterns into temporally correlated activations. In another embodiment, an extractor can be provided for extracting binary labels of features of the temporally correlated activations for compression or processing thereof.

In another example embodiment, a link structure can be provided, which converts temporally phase-shifted activations patterns into temporally correlated activations, wherein binary labels of features of the temporally correlated activations are extractable for compression or processing thereof.

In still another example embodiment, a system for feature extraction of surface manifolds can be implemented. Such a system can include a means for generating point data with respect to at least one surface manifold and a means for performing an AHaH-based feature extraction operation on the point data for compression and processing thereof. In another embodiment, such a system may include a means for scanning at least one voxel of a point cloud composed of the point data in order to recover the compressed binary label which represents prototypical surface patches with respect to the at least one surface manifold. In another embodiment of such a system, the point data can include LIDAR point data and the surface manifolds can include LIDAR surface manifolds. In another embodiment of such a system, the LIDAR point data is capable of being represented as a voxel with at least one active grid element and at least one inactive grid element, wherein a voxel grid element is considered active if the voxel grid element contains within a spatial boundary thereof at least one LIDAR point. In yet another embodiment of such a system, the output of the voxel can include a sparse binary activation vector including grid elements that are active.

In another example embodiment, an autonomous vehicle can be implemented, which includes at least one sensor associated with the autonomous vehicle, wherein the at least one sensor measures a distance to and/or other properties of a target by illuminating the target with light, wherein the at least one sensor provides sensor data indicative of at least one surface manifold and wherein point data is generated with respect to the at least one surface manifold; and an AHaH (Anti-Hebbian and Hebbian) based mechanism that performs an AHaH-based feature extraction operation on the point data for compression and processing thereof.

The aforementioned at least one sensor can comprise at least one of, for example, a LIDAR (Light Detection and Ranging) device, a digital camera, a coherent optical sensor, and a camera-radar fusion unit. In another example embodiment, at least one voxel of a point cloud composed of the point data is scanned in order to recover the compressed binary label which represents prototypical surface patches with respect to the at least one surface manifold. In another example embodiment, the aforementioned point data can comprise LIDAR point data and the surface manifolds comprises LIDAR surface manifolds. In yet another example embodiment, the aforementioned LIDAR point data is capable of being represented as a voxel with at least one active grid element and at least one inactive grid element, wherein a voxel grid element is considered active if the voxel grid element contains within a spatial boundary thereof at least one LIDAR point. In yet another example embodiment, the point data can comprise a sparse binary activation vector including grid elements that are active.

In another example embodiment, an AHaH based mechanism can be provided, which acts on a plurality of synaptic weights or at least one synaptic weight among the plurality of synaptic weights. In some example embodiments, each synaptic weight among the plurality of synaptic weights can comprise at least one memristor. In another example embodiment, each synaptic weight among the plurality of synaptic weight can comprise a differential pair of memristors formed from at least one of three electrode configurations including a 1-2 electrode configuration, a 2-1 electrode configuration, or a 2-2 electrode configuration. In yet another example embodiment, the AHaH based mechanism can act on at least one memristor composed of the plurality of meta-stable switches. In some example embodiments, the AHaH based mechanism can comprise at least one AHaH node comprising a plurality of synaptic weights formed of memristors. In still another example embodiment, the synaptic weights are further formed of three electrode configurations including a 1-2 electrode configuration, a 2-1 electrode configuration, or a 2-2 electrode configuration.

In yet another example embodiment, an autonomous vehicle can be implemented which includes at least one sensor associated with the autonomous vehicle, wherein the at least one sensor measures a distance to and/or other properties of a target by illuminating the target with light, wherein the at least one sensor provides sensor data indicative of at least one surface manifold and wherein point data is generated with respect to the at least one surface manifold; and an AHaH (Anti-Hebbian and Hebbian) based mechanism that performs an AHaH-based feature extraction operation on the point data for compression and processing thereof, the AHaH based mechanism acting on a plurality of synaptic weights, the synaptic weights formed of memristors.

In still another example embodiment, an autonomous vehicle can be implemented, which includes at least one sensor associated with the autonomous vehicle, wherein the at least one sensor measures a distance to and/or other properties of a target by illuminating the target with light, wherein the at least one sensor provides sensor data indicative of at least one surface manifold and wherein point data is generated with respect to the at least one surface manifold; a liquid state machine forming spatial-temporal encoding of the point data; and an AHaH (Anti-Hebbian and Hebbian) based mechanism that performs an AHaH-based feature extraction operation on the spatial-temporal encoding for compression and processing thereof.

One of the advantages of the disclosed technology is the ability to implement low cost but high quality sensing devices for autonomous vehicles. The use of, for example, an AHaH mechanism as described herein permits the use of low cost sensors (e.g., low cost LIDAR, cameras, radar, infrared and other sensing devices) for accurate autonomous vehicle applications.

It will be appreciated that variations of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. It will also be appreciated that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims. 

What is claimed is:
 1. An autonomous vehicle, comprising: at least one sensor associated with said autonomous vehicle, wherein said at least one sensor measures a distance to and/or other properties of a target by illuminating said target with light, wherein said at least one sensor provides sensor data indicative of at least one surface manifold and wherein point data is generated with respect to said at least one surface manifold; and an AHaH (Anti-Hebbian and Hebbian) based mechanism that performs an AHaH-based feature extraction operation on said point data for compression and processing thereof.
 2. The autonomous vehicle of claim 1 wherein said at least one sensor comprises at least one of a LIDAR (Light Detection and Ranging) device, a digital camera, a coherent optical sensor, and a camera-radar fusion unit.
 3. The autonomous vehicle of claim 1 wherein at least one voxel of a point cloud composed of said point data is scanned in order to recover said compressed binary label which represents prototypical surface patches with respect to said at least one surface manifold.
 4. The autonomous vehicle of claim 1 wherein said point data comprises LIDAR point data and said surface manifolds comprises LIDAR surface manifolds.
 5. The autonomous vehicle of claim 4 wherein said LIDAR point data is capable of being represented as a voxel with at least one active grid element and at least one inactive grid element, wherein a voxel grid element is considered active if said voxel grid element contains within a spatial boundary thereof at least one LIDAR point.
 6. The autonomous vehicle of claim 5 wherein said point data comprises a sparse binary activation vector including grid elements that are active.
 7. The autonomous vehicle of claim 1 further comprising an AHaH based mechanism acting on a plurality of synaptic weights.
 8. The autonomous vehicle of claim 7 wherein each synaptic weight among said plurality of synaptic weights comprises at least one memristor.
 9. The autonomous vehicle of claim 7 wherein each synaptic weight among said plurality of synaptic weight comprises a differential pair of memristors formed from at least one of three electrode configurations including a 1-2 electrode configuration, a 2-1 electrode configuration, or a 2-2 electrode configuration
 10. The autonomous vehicle of claim 7 wherein said AHaH based mechanism acts on at least one memristor composed of said plurality of meta-stable switches.
 11. The autonomous vehicle of claim 1 wherein said AHaH based mechanism comprises at least one AHaH node comprising a plurality of synaptic weights formed of memristors.
 12. The autonomous vehicle of claim 11 wherein said synaptic weights are further formed of three electrode configurations including a 1-2 electrode configuration, a 2-1 electrode configuration, or a 2-2 electrode configuration.
 13. An autonomous vehicle, comprising: at least one sensor associated with said autonomous vehicle, wherein said at least one sensor measures a distance to and/or other properties of a target by illuminating said target with light, wherein said at least one sensor provides sensor data indicative of at least one surface manifold and wherein point data is generated with respect to said at least one surface manifold; and an AHaH (Anti-Hebbian and Hebbian) based mechanism that performs an AHaH-based feature extraction operation on said point data for compression and processing thereof, said AHaH based mechanism acting on a plurality of synaptic weights, said synaptic weights formed of memristors.
 14. The autonomous vehicle of claim 13 wherein each synaptic weight of said synaptic weights is formed from a differential pair of memristors.
 15. The autonomous vehicle of claim 13 wherein each synaptic weight of said synaptic weights is formed from at least one of three electrode configurations including a 1-2 electrode configuration, a 2-1 electrode configuration, or a 2-2 electrode configuration.
 16. An autonomous vehicle, comprising: at least one sensor associated with said autonomous vehicle, wherein said at least one sensor measures a distance to and/or other properties of a target by illuminating said target with light, wherein said at least one sensor provides sensor data indicative of at least one surface manifold and wherein point data is generated with respect to said at least one surface manifold; and a liquid state machine forming spatial-temporal encoding of said point data; and an AHaH (Anti-Hebbian and Hebbian) based mechanism that performs an AHaH-based feature extraction operation on said spatial-temporal encoding for compression and processing thereof.
 17. The autonomous vehicle of claim 16 where said AHaH based mechanism acts on synaptic weights formed from memristors.
 18. The autonomous vehicle of claim 17 where said synaptic weights formed from memristors are formed from at least one of three electrode configurations including a 1-2 electrode configuration, a 2-1 electrode configuration, or a 2-2 electrode configuration.
 19. The autonomous vehicle of claim 16 wherein said at least one sensor comprises at least one of a LIDAR (Light Detection and Ranging) device, a digital camera, a coherent optical sensor, and a camera-radar fusion unit. 